/*
 * @Description  : Substitution & Permutation
 * @authorName   : GuoJi
 * @github       : https://github.com/guoji-kk
 * @gitee        : https://gitee.com/guoji13663585559
 * @email        : 13663585559@163.com
 * @version      : 1.0
 * @Date         : 2023-06-02 10:47:27
 * @LastEditTime : 2023-06-02 10:47:30
 */

module sub_per(data_o,data_i); 
output wire[63:0] data_o;
input  wire[63:0] data_i;              


wire [63:0] s; // intermediate signal

substitution sub_per_substitution(.data_o(s)   ,.data_i(data_i)); // input of the S-Box is data_i
permutation  sub_per_permutation (.data_o(data_o),.data_i(s)); // output os Permutation layer is data_o

endmodule